package cn.iocoder.yudao.module.trade.dal.dataobject.order2;

import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

import java.time.LocalDateTime;

/**
 * 套餐订单 DO
 *
 * @author 芋道源码
 */
@TableName("package_order")
@KeySequence("package_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PackageOrderDO extends BaseDO {

    /**
     * 订单编号
     */
    @TableId
    private Long id;
    /**
     * 订单流水号
     */
    private String no;
    /**
     * 订单类型
     */
    private Integer type;
    /**
     * 订单来源终端
     */
    private Integer terminal;
    /**
     * 用户编号
     */
    private Long userId;
    /**
     * 用户 IP
     */
    private String userIp;
    /**
     * 订单状态
     */
    private Integer status;
    /**
     * 取消类型
     */
    private Integer cancelType;
    /**
     * 备注
     */
    private String remark;
    /**
     * 是否评价
     */
    private Boolean commentStatus;
    /**
     * 套餐ID
     */
    private String PackageId;
    /**
     * 订单金额（总），单位：元
     */
    private Integer payPrice;
    /**
     * 售后状态
     */
    private Integer refundStatus;
    /**
     * 退款金额，单位：分
     */
    private Integer refundPrice;
    /**
     * 支付订单编号
     */
    private Long payOrderId;
    /**
     * 是否已支付：[0:未支付 1:已经支付过]
     */
    private Boolean payStatus;
    /**
     * 订单支付时间
     */
    private LocalDateTime payTime;
    /**
     * 支付成功的支付渠道
     */
    private String payChannelCode;
    /**
     * 订单完成时间
     */
    private LocalDateTime finishTime;
    /**
     * 订单取消时间
     */
    private LocalDateTime cancelTime;
}